package com.example.demo.queue.handler;

import com.example.demo.queue.message.LogEvent;
import com.lmax.disruptor.EventHandler;
import lombok.RequiredArgsConstructor;
import org.springframework.data.mongodb.core.MongoTemplate;

@RequiredArgsConstructor
public class LogEventHandler implements EventHandler<LogEvent> {
    private final MongoTemplate mongoTemplate;

    @Override
    public void onEvent(LogEvent logEvent, long sequence, boolean endOfBatch) {
        /*
         * 可以设置一个列表，将每次传递过来的日志数据，加入该日志待添加列表里
         * 若列表的消息数大于某个值时，再将其批量插入数据库
         * 若列表的消息数小于或等于某个值时，则继续等待
         **/
        mongoTemplate.insert(logEvent, "syslog");
    }
}
